RessourceAutomation Class Reference

List of all members.

Public Member Functions

 RessourceAutomation ()
 deleteUser ($userID)
 deleteUserFromCourse ($userID, $courseID)
 newCourse ($courseID)
 deleteCourse ($courseID)

Detailed Description

Definition at line 35 of file class.ressourceautomation.inc.php.


Member Function Documentation

RessourceAutomation::deleteCourse ( courseID  ) 

Löscht alle Dateien und Ordner, die für den Kurs hochgeladen bzw. erstellt wurden und die Einstellungen zu diesen Dateien/Ordnern

public

Parameters:
int $courseID - Kurs-ID
Returns:
bool - Erfolgswert

Definition at line 163 of file class.ressourceautomation.inc.php.

References $db.

00163                                      {
00164         global $db, $settings, $EZSQL_ERROR;
00165         $filelinks = $db->get_col("SELECT link FROM filelist WHERE type='file' AND courseID=$courseID");
00166         $fileIDs = $db->get_col("SELECT fileID FROM filelist WHERE courseID=$courseID");
00167         $dir = PATH_TO_ROOT.$settings["upload_path"]."filemanager/courseID/$courseID/";
00168         $erfolg = true;
00169         if (count($filelinks)) {
00170             $filesDeleted = 0;
00171             foreach($filelinks as $file) {
00172                 if (file_exists($dir.$file)) {
00173                     if (!unlink($dir.$file)) {
00174                         $erfolg = false;
00175                         $this->error("Fehler beim Löschen der Datei $dir$file.");
00176                     } else {
00177                         $filesDeleted++;
00178                     }
00179                 } else {
00180                     $erfolg = false;
00181                     $this->error("Datei $dir$file nicht gefunden.");
00182                 }
00183             }
00184             $this->writeToLogfile($filesDeleted." Datei(en) gelöscht.");
00185             if (file_exists($dir)) rmdir($dir);
00186         }
00187         $errorCount = count($EZSQL_ERROR);
00188         $db->query("DELETE FROM filelist WHERE courseID=$courseID");
00189         if (count($EZSQL_ERROR) > $errorCount) {
00190             $this->error("Fehler beim Löschen der Einträge aus der Datenbank:\n".print_r($EZSQL_ERROR[$errorCount], true));
00191             $erfolg = false;
00192         } else {
00193             $this->writeToLogfile($db->rows_affected." Einträge aus der Datenbank gelöscht.");
00194         }
00195         if (is_array($fileIDs)) {
00196             $errorCount = count($EZSQL_ERROR);
00197             $db->query("DELETE FROM filelog WHERE fileID IN (".implode(",", $fileIDs) .")");
00198             if (count($EZSQL_ERROR) > $errorCount) {
00199                 $this->error("Fehler beim Löschen der Log-Einträge:\n".print_r($EZSQL_ERROR[$errorCount], true));
00200                 $erfolg = false;
00201             } else {
00202                 $this->writeToLogfile($db->rows_affected." Log-Einträge gelöscht.");
00203             }
00204             $errorCount = count($EZSQL_ERROR);
00205             $db->query("DELETE FROM filetreelayout WHERE folderID IN (".implode(",", $fileIDs) .")");
00206             if (count($EZSQL_ERROR) > $errorCount) {
00207                 $this->error("Fehler beim Löschen der Anzeigeeinstellungen für Ordner:\n".print_r($EZSQL_ERROR[$errorCount], true));
00208                 $erfolg = false;
00209             } else {
00210                 $this->writeToLogfile($db->rows_affected." Anzeigeeinstellung(en) für Ordner gelöscht.");
00211             }
00212             $errorCount = count($EZSQL_ERROR);
00213             $db->query("DELETE FROM filevisible WHERE fileID IN (".implode(",", $fileIDs) .")");
00214             if (count($EZSQL_ERROR) > $errorCount) {
00215                 $this->error("Fehler beim Löschen der speziellen Sichtbarkeitseinstellungen:\n".print_r($EZSQL_ERROR[$errorCount], true));
00216                 $erfolg = false;
00217             } else {
00218                 $this->writeToLogfile($db->rows_affected." spezielle Sichtbarkeitseinstellung(en) gelöscht.");
00219             }
00220         }
00221         return $erfolg;
00222     }

RessourceAutomation::deleteUser ( userID  ) 

Löscht alle Einstellungen und Logdaten des Users, setzt alle Besitzer von vom Benutzer hochgeladenen Ressourcen auf 3.

public

Parameters:
int $userID - User-ID
Returns:
bool - Erfolgswert

Definition at line 53 of file class.ressourceautomation.inc.php.

References $db.

00053                                  {
00054         global $db, $EZSQL_ERROR;
00055         $errorCount = count($EZSQL_ERROR);
00056         $db->query("DELETE FROM filelog WHERE userID=$userID");
00057         if (count($EZSQL_ERROR) > $errorCount) {
00058             $this->error("Fehler beim Löschen der Log-Einträge:\n".print_r($EZSQL_ERROR[$errorCount], true));
00059         } else {
00060             $this->writeToLogfile($db->rows_affected." Log-Einträge gelöscht.");
00061         }
00062         $errorCount = count($EZSQL_ERROR);
00063         $db->query("DELETE FROM filetreelayout WHERE userID=$userID");
00064         if (count($EZSQL_ERROR) > $errorCount) {
00065             $this->error("Fehler beim Löschen der Anzeigeeinstellungen für Ordner:\n".print_r($EZSQL_ERROR[$errorCount], true));
00066         } else {
00067             $this->writeToLogfile($db->rows_affected." Anzeigeeinstellung(en) für Ordner gelöscht.");
00068         }
00069         $errorCount = count($EZSQL_ERROR);
00070         $db->query("DELETE FROM filevisible WHERE userID=$userID");
00071         if (count($EZSQL_ERROR) > $errorCount) {
00072             $this->error("Fehler beim Löschen der speziellen Sichtbarkeitseinstellungen:\n".print_r($EZSQL_ERROR[$errorCount], true));
00073         } else {
00074             $this->writeToLogfile($db->rows_affected." spezielle Sichtbarkeitseinstellung(en) gelöscht.");
00075         }
00076         $errorCount = count($EZSQL_ERROR);
00077         $db->query("UPDATE filelist SET userID=3 WHERE userID=$userID");
00078         if (count($EZSQL_ERROR) > $errorCount) {
00079             $this->error("Fehler beim Aktualisieren des Besitzers der Ressourcen:\n".print_r($EZSQL_ERROR[$errorCount], true));
00080         } else {
00081             $this->writeToLogfile($db->rows_affected." Besitzer der Ressource(n) aktualisiert.");
00082         }
00083         if (!empty($this->errorString)) return false;
00084         return true;
00085     }

RessourceAutomation::deleteUserFromCourse ( userID,
courseID 
)

Löscht alle Einstellungen und Logdaten des Users

public

Parameters:
integer $userID - Die ID des neuen Kursteilnehmers
integer $courseID - Die ID des Kurses
Returns:
bool - Erfogswert

Definition at line 94 of file class.ressourceautomation.inc.php.

References $db.

00094                                                       {
00095         global $db, $EZSQL_ERROR;
00096         $fileIDs = $db->get_col("SELECT fileID FROM filelist WHERE courseID=$courseID");
00097         if (is_array($fileIDs)) {
00098             $errorCount = count($EZSQL_ERROR);
00099             $db->query("DELETE FROM filelog WHERE userID=$userID AND fileID IN (".implode(",", $fileIDs) .")");
00100             if (count($EZSQL_ERROR) > $errorCount) {
00101                 $this->error("Fehler beim Löschen der Log-Einträge:\n".print_r($EZSQL_ERROR[$errorCount], true));
00102             } else {
00103                 $this->writeToLogfile($db->rows_affected." Log-Einträge gelöscht.");
00104             }
00105             $errorCount = count($EZSQL_ERROR);
00106             $db->query("DELETE FROM filetreelayout WHERE userID=$userID AND folderID IN (".implode(",", $fileIDs) .")");
00107             if (count($EZSQL_ERROR) > $errorCount) {
00108                 $this->error("Fehler beim Löschen der Anzeigeeinstellungen für Ordner:\n".print_r($EZSQL_ERROR[$errorCount], true));
00109             } else {
00110                 $this->writeToLogfile($db->rows_affected." Anzeigeeinstellung(en) für Ordner gelöscht.");
00111             }
00112             $errorCount = count($EZSQL_ERROR);
00113             $db->query("DELETE FROM filevisible WHERE userID=$userID AND fileID IN (".implode(",", $fileIDs) .")");
00114             if (count($EZSQL_ERROR) > $errorCount) {
00115                 $this->error("Fehler beim Löschen der speziellen Sichtbarkeitseinstellungen:\n".print_r($EZSQL_ERROR[$errorCount], true));
00116             } else {
00117                 $this->writeToLogfile($db->rows_affected." spezielle Sichtbarkeitseinstellung(en) gelöscht.");
00118             }
00119         }
00120         if (!empty($this->errorString)) return false;
00121         return true;
00122     }

RessourceAutomation::newCourse ( courseID  ) 

Erstellt die in der config.ini definierten Standard-Hauptordner

public

Parameters:
integer $courseID - Die ID des neuen Kurses
Returns:
bool - Erfogswert

Definition at line 130 of file class.ressourceautomation.inc.php.

References $db.

00130                                   {
00131         global $db, $dozentID, $EZSQL_ERROR, $settings;
00132         $folders = $settings["default_folders"];
00133         if (!empty($folders)) {
00134             $errorCount = count($EZSQL_ERROR);
00135             foreach($folders as $folder) {
00136                 $folder = str_replace("\\,", $hash = md5(microtime()), $folder);
00137                 $folder = explode(",", $folder);
00138                 $folderName = str_replace($hash, ",", trim($folder[0]));
00139                 if (isset($folder[1])) {
00140                     $folderDesc = str_replace($hash, ",", trim($folder[1]));
00141                 } else {
00142                     $folderDesc = "";
00143                 }
00144                 $db->query("INSERT INTO filelist (link, parent_object, name, userID, create_time, courseID, type, visible_type, student_write) "."VALUES ('$folderName', 0, '$folderDesc', '$dozentID', '".time() ."', '$courseID', 'folder', 1, 1)");
00145             }
00146             if (count($EZSQL_ERROR) > $errorCount) {
00147                 $this->error("Fehler beim Erstellen der Default-Ordner:\n".print_r($EZSQL_ERROR[$errorCount], true));
00148             } else {
00149                 $this->writeToLogfile("Default-Ordner erstellt.");
00150             }
00151         }
00152         if (!empty($this->errorString)) return false;
00153         return true;
00154     }

RessourceAutomation::RessourceAutomation (  ) 

Konstruktor

public

Definition at line 41 of file class.ressourceautomation.inc.php.

00041                                    {
00042         parent::ModulAutomation();
00043         $this->info = "Ressourcen";
00044     }


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations

Generated on Fri Oct 30 17:21:39 2009 for MSP Modul Ressourcen by  doxygen 1.6.1